package a13_ArrayListTel;

import java.util.ArrayList;

/**
 * @Author quan
 * @Description 添加手机对象并返回要要求的数据
 * 需求：定义Javabean类：Phone
 * Phone属性：品牌，性格。main方法中定义一个集合，存入三个手机对象：分别为小米,1000;苹果，8000；锤子2999.
 * 定义一个方法，将价格低于3000的手机信息返回
 * 思路：此时返回的类型该怎么定？两个数据类型不同 ——>定义一个容器 集合 接收再返回（具体看代码）
 * @Date 2023/1/31 15:16
 */
public class TestDemo {
    public static void main(String[] args) {
        //定义集合
        ArrayList<Phone> list = new ArrayList<>();
        //创建对象
        Phone ph1 = new Phone("小米",1000);
        Phone ph2 = new Phone("苹果",8000);
        Phone ph3 = new Phone("锤子",2999);
        //集合添加对象
        list.add(ph1);
        list.add(ph2);
        list.add(ph3);

        //注意4：调用方法:此时也要用一个集合ArrayList<Phone>来接收信息
        ArrayList<Phone> res = getInfo(list);
        //遍历集合
        for (int i = 0; i < res.size(); i++) {
            Phone phone = res.get(i);//注意5：注意写法，是Phone 类型。phone是获取到的手机对象
            System.out.println(phone.getBrand());
            System.out.println(phone.getPrice());
        }
    }

    //返回小于3000手机信息的方法
    //注意点1：返回值类型也是集合ArrayList<Phone>
    public static ArrayList<Phone> getInfo(ArrayList<Phone> list){
        //定义一个集合，存储手机的两个信息
        //注意点2：技巧:如果要返回多个数据，则将这些数据放在一个容器中，再把容器返回
        ArrayList<Phone> infoList = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).getPrice()< 3000){
                infoList.add(list.get(i));
                //注意点3：list.get(i)就是手机的brand和price信息
            }
        }
        return infoList;
    }
}
